1. Field of the Invention
The present invention relates to communication systems. More particularly, the invention relates to an apparatus and method for avoiding data loss during switching of data transfer protocols.
2. Description of Related Art
With the rise of the internet and other communication devices that couple to telephone networks, such as asynchronous transfer mode (ATM) networks, the amount of data transferred by these networks has been dramatically increasing. These networks have finite bandwidths. As data load increases, data congestion occurs. During periods of peak usage, when data congestion occurs, sources of data, such as telephones, and other digitized communication systems, reduce the data load by compressing the data or changing the rate of data transfer. The amount of compression may vary according to the needs of the network. High compression rates save bandwidth on the network, however, increases the processing time of the transmitting and receiving devices and may also result in deterioration of signal quality. Lower compression rates require less processing to reconstruct the signal and may allow for higher quality transmissions, however, during peak transmission times, the network may be unable to handle the high bandwidth requirements. Thus, many modern systems determine the network capability at a particular time and set a data transfer rate or compression routine used to compress data at the beginning of the transmission.
One problem with the current system is that during long transmissions, the network may change state during the transmission. In particular, the network may have a large increase in data load or may have a large decrease in data load. Thus, it is appropriate to change data transfer rates or compression routines in the middle of a transmission. Currently, modern systems switch the compression routine or the data transfer rate in the middle of a transmission through a process called "real time algorithm" or "real time rate switching."
One problem with real time algorithm or rate switching techniques is that during the rate switch, data is lost. Typically, a system transferring data includes buffers to accumulate data in frames for appropriate processing. For example, a G.726 processing system processes data in 80 byte frames while a Pulse Code Modulation (PCM) system processes data in 40 byte frames. A "G.726 processing system" is defined to be a processing system using the International Telecommunications Union (ITU, formerly CCITT, International Telegraph and Telephone Consultative Committee) G.726 standard for 40, 32, 24, 16 Kbit/second Adaptive Differential Pulse Code Modulation (ADPCM) established in Geneva, Switzerland, 1990. Hereinafter, the ITU G.726 standard will be referred to as "G.726". A PCM system is defined to be a system which uses the ITU standard G.711 set forth by the ITU (formerly CCITT) in Geneva, Switzerland, 1972. Hereinafter, the ITU G.711 standard will be referred to as "PCM". During a switch between compression routines, data stored in a buffer to accumulate a frame is typically discarded.
Discarding of the data in the buffer creates several problems. At a minimum, such data loss is inconvenient, causing an annoying, high-pitched noise unpleasant to human ears when the switch occurs. When data is being transferred, such as when a digital tone modulation frequency (DTMF) transmission is occurring, the data loss can result in digits or other vital information being lost.
Thus, a method and apparatus to handle such compression routine transitions or rate changes is needed which minimizes data loss.